#pragma once

#include "qbe/src/ecs/plugin.hpp"
#include "qbe/src/ecs/stage.hpp"

#include "events.hpp"
#include "models.hpp"

namespace qbe::state {
class UpdateStage : public ecs::stage::after<ecs::stage::Update> {};
class LastStage : public ecs::stage::after<ecs::stage::Last> {};

struct StateManager : public ecs::Plugin {
  void build(ecs::App& app);
};

}  // namespace qbe::state